package cn.broadsense.thrid.param;

import cn.broadsense.thrid.result.VideoExTractListResult;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 以图搜图请求参数
 *
 * @author pengxin
 * @date 2022-10-11 17:34
 */
@NoArgsConstructor
@Data
public class PersonFaceParam extends BaseParam{
    private static final long serialVersionUID = 2056286415844331301L;
    /**
     * 0 表示查询实时分析数据；1 表示查询录像分析数据类型;2 表示查询本地文件数据类型。
     * 选 填项，不填默认为0 表示查询实时分析数据。
     */
    private Integer retrievalType;
    /**
     * 期待返回条数 最大为9999条。必填
     */
    private Integer pageSize;
    /**
     * 相似度
     */
    private Double threshold;
    /**
     * 起始时间，UTC 0时区 必填
     */
    private String startTime;
    /**
     * 终止时间，UTC 0时区. 非必填，默认是当前时刻。非必填。
     */
    private String endTime;

    private List<String> channelCodes;
    private ImageParam image;
    private String feature;
    private Integer objectType;
    private String taskId;


    @Override
    public void checkParam() {

    }

    @Override
    public Class getResultClass() {
        return VideoExTractListResult.class;
    }

    @NoArgsConstructor
    @Data
    public static class ImageParam {
        private String data;
        private String uri;
        private RectParam rect;

        @NoArgsConstructor
        @Data
        public static class RectParam {
            private Integer leftTopX;
            private Integer leftTopY;
            private Integer rightBtmX;
            private Integer rightBtmY;
        }
    }
}
